package com.decheng.mongo.dao;

import com.decheng.mongo.entity.User;
import org.springframework.data.mongodb.repository.MongoRepository;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author 孔德成
 * @slogan 致敬大师，致敬未来的你
 * @date 2021/9/2 12:25 下午
 * @desc MongoRepository<User, String> User 是实体类泛型，String 是 id 泛型
 * 按照 SpringData 方法定义规范，定义接口
 * 参考：https://docs.spring.io/spring-data/mongodb/docs/3.2.4/reference/html/#mongo.repositories
 */
@Repository
public interface UserRepository extends MongoRepository<User, String> {

    /**
     * 根据姓名查询
     *
     * @param name
     * @return
     */
    List<User> findByName(String name);

    /**
     * 根据姓名模糊查询
     *
     * @param name
     * @return
     */
    List<User> findByNameLike(String name);

    /**
     * 查询小于指定年龄的用户
     *
     * @param age
     * @return
     */
    List<User> findByAgeLessThan(int age);
}
